package com.feicheng.common.config;

import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.extension.handlers.AbstractJsonTypeHandler;
import org.springframework.util.StringUtils;

import java.lang.reflect.Field;

public class JsonObjectTypeHandler extends AbstractJsonTypeHandler<JSONObject> {

    public JsonObjectTypeHandler() {
        super(JSONObject.class);
    }

    public JsonObjectTypeHandler(Class<?> type) {
        super(type);
    }

    public JsonObjectTypeHandler(Class<?> type, Field field) {
        super(type, field);
    }

    @Override
    public JSONObject parse(String json) {
        if (StringUtils.hasLength(json)) {
            try {
                return JSONObject.parseObject(json);
            } catch (Exception e) {
                return new JSONObject();
            }
        } else {
            return new JSONObject();
        }
    }

    @Override
    public String toJson(JSONObject obj) {
        return obj.toJSONString();
    }
}
